using System;
using System.Collections.Generic;
using System.Text;

namespace Lincolnwood.Foundation.SermonLibrary
{
    [Serializable]
    public class MediaLink
    {
        private string _mediaUri;
        private MediaType _mediaType;

        public MediaLink()
        { }

        public MediaLink(string uri)
        {
            _mediaUri = uri;
        }

        internal MediaLink(string mediaUri, MediaType typeOfMedia)
        {
            _mediaUri = mediaUri;
            _mediaType = typeOfMedia;
        }

        public string MediaUri
        {
            get { return _mediaUri; }
            set { _mediaUri = value; }
        }

        public MediaType MediaType
        {
            get { return _mediaType ; }
            set { _mediaType = value; }
        }

        public override bool Equals(object obj)
        {
            MediaLink compareToObj = (MediaLink)obj;
            return _mediaUri.Equals(compareToObj.MediaUri) && _mediaType.Equals(compareToObj.MediaType);
        }

        public override int GetHashCode()
        {
            return _mediaType.GetHashCode() + _mediaUri.GetHashCode();
        }
    }
}
